.\"   $Id: composeBdd.3,v 1.1 2002/04/03 13:13:25 ludo Exp $
.\" @(#)composeBdd.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
.TH COMPOSEBDD 3 "October 1, 1997" "ASIM/LIP6" "BDD functions"
.so man1/alc_origin.1
.SH NAME
\fBcomposeBdd\fP \- substitutes an index by a BDD in another BDD
.SH SYNOPSIS
.nf
#include "logmmm.h"
pNode composeBdd(pBdd1,pBdd2,index)
pNode pBdd1;
pNode pBdd2;
short index;
.fi
.SH PARAMETERS
.TP 20
\fIpBdd1\fP
BDD in which \fIindex\fP is substituted
.TP 20
\fIpBdd2\fP
BDD that replaces \fIindex\fP
.TP 20
\fIindex\fP
index to substitute
.SH DESCRIPTION
\fBcomposeBdd()\fP constructs the graph for the function obtained by composing \fIpBdd1\fP and \fIpBdd2\fP.
This function can be used when an auxiliary variable has been mistaken for a primary input. 
.SH EXAMPLE
.nf
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB;
pNode res;

initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
res = applyBinBdd(OR,nodeA,nodeB);	/* res = (OR a b) */
res = composeBdd(res,notBdd(nodeB),2);	/* composition : a = (NOT B) */
displayBdd(res,1);

/* it will display 
@res   ONE 
*/
	
destroyBdd(1);
.fi
.SH SEE ALSO
.BR log (1),
.BR bdd (1),
.BR applyBdd (3),
.BR notBdd (3),
.BR constraintBdd (3),
.BR applyBinBdd (3),
.BR addListBdd (3),
.BR displayBdd (3),
.BR createNodeTermBdd (3).

.so man1/alc_bug_report.1

